package com.bosssoft.g1.dto;

import com.bosssoft.g1.common.data.dto.TenantBaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.validation.annotation.Validated;

import java.util.List;

/**
 * @version 1.0.0
 * @Class RoleResourceDTO
 * @Description 重点字段是roleIds和resourceIds 系统将角色资源关系插入basic_role_resource表
 * @Author chen
 * @Date
 */
@ApiModel(value = "角色资源")
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
@Validated
public class RoleResourceDTO extends TenantBaseDTO {

    private Long userId;
    /**
     * 角色id列表 这个用于插入的角色id列表
     */

    @ApiModelProperty(value = "被分配资源的角色")
    // 业务界面存在要取消某一个用户的角色的的操作，例如全部不勾选角色然后保存就是去除角色
    //@NotEmpty(message = "被选中分配资源的角色")
    private List<Long> roleIds;
    /**
     * 资源id列表 这个是用于插入的资源id列表
     */
    @ApiModelProperty(value = "被分配给角色的资源")
    // 业务界面存在要取消某一个角色的资源的的操作，例如全部不勾选资源然后保存就是去除资源
    //@NotEmpty(message = "被选中分配给角色的资源")
    private List<Long> resourceIds;
    /**
     * 资源表
     */
    @ApiModelProperty(value = "被分配给角色的资源")
    private List<ResourceDTO> resources;
    /**
     * 角色ID
     */
    @ApiModelProperty(value = "roleId角色ID")
    private Long roleId;

    /**
     * 资源ID
     */
    @ApiModelProperty(value = "resourceId资源ID")
    private Long resourceId;

    /**
     * 机构
     */
    private OrganizationDTO organizationDTO = new OrganizationDTO();
    /**
     * 公司
     */
    private CompanyDTO companyDTO = new CompanyDTO();

    /**
     * 客户
     */
    private TenantDTO tenantDTO = new TenantDTO();

}